import Dexie from "dexie";
/**
 * 基于indexdb的一级缓存策略，缓存以表位粒度的数据集: 目前主要应用于单元格取数，后续可以提供统计数据进行使用。
 * TODO 目前先采用CpasTable数据集类型进行测试，一共需要兼容多少种数据类型需要找丽莎/斌哥确认
 */
export class CpasCacheDb extends Dexie {
    cpasTableData;
    cacheTable;
    disclosure;
    constructor() {
        super("cpasCacheDb");
        this.version(1).stores({
            cpasTableData: "++id,[tid+dataId+rmap+cmap+zcbfId]",
            cacheTable: "++id,tid,[name+isCache]",
            disclosure: "++id, [主键+dataId+tname+zcbfId]", //斌哥披露表数据
        });
    }
    /**
     * db 是否存在
     */
    async checkDbReset() {
        const isOpen = this.isOpen();
        if (isOpen) {
            return true;
        }
        try {
            await this.open();
        }
        catch (e) {
            throw e;
        }
    }
}
export default CpasCacheDb;
